package cn.webwheel.tutorials.helloworld;

import cn.webwheel.FilterGroup;
import cn.webwheel.Main;

// 使用WebWheel框架的应用程序的入口，类似于java程序的main方法
// 此类必须继承cn.webwheel.Main并拥有默认的构造方法
public class WebMain extends Main {

    // 程序初始化调用接口
    protected void init() {

        System.out.println("WebMain启动");

        // 注册String结果类型到解释器StringResultInterpreter之上
        registerResultType(String.class, new StringResultInterpreter());

        // root是一个cn.webwheel.FilterGroup对象，代表根过滤器组，内含的过滤器为空
        // 若干的过滤器组成一个过滤器组，一个过滤器组可以绑定若干个Action
        // 使用内置对象root创建一个新的过滤器组，将访问量过滤器加入此过滤器组
        FilterGroup filterGroup = root.append(new CountFilter());

        // 使用此过滤器组映射一个http请求到Action类，当web服务器接收这个地址时将构造HelloWorldAction对象进行处理
        // 这里是指定了web地址/HelloWorld为Action调用地址，请在浏览器中通过http://localhost/helloworld/HelloWorld进行验证
        filterGroup.bindAction("/HelloWorld", HelloWorldAction.class);
    }

    //销毁回调方法，当应用被停止时被调用
    protected void destroy() {
        System.out.println("WebMain停止");
    }
}
